package com.kehutong.wxapi.request;

import org.coraframework.json.annotation.JSONField;

import java.util.List;

/**
 * 获取「群聊数据统计」按群主聚合的方式数据请求对象
 * @author: liukunlong
 * @date: 2021-03-05 10:36
 */
public class GroupChatStatisticRequest {
    /**
     * 调用接口凭证
     */
    private String accessToken;
    /**
     * 起始日期的时间戳，填当天的0时0分0秒（否则系统自动处理为当天的0分0秒）。取值范围：昨天至前180天。
     */ /**
     * day_begin_time : 1600272000
     * day_end_time : 1600444800
     * owner_filter : {"userid_list":["zhangsan"]}
     * order_by : 2
     * order_asc : 0
     * offset : 0
     * limit : 1000
     */

    @JSONField(name = "day_begin_time")
    private Integer dayBeginTime;
    /**
     * 结束日期的时间戳，填当天的0时0分0秒（否则系统自动处理为当天的0分0秒）。取值范围：昨天至前180天。
     * 如果不填，默认同 day_begin_time（即默认取一天的数据）
     */
    @JSONField(name = "day_end_time")
    private Integer dayEndTime;
    /**
     * 群主过滤，如果不填，表示获取全部群主的数据
     */
    @JSONField(name = "owner_filter")
    private OwnerFilterDTO ownerFilter;
    /**
     * 排序方式。
     * 1 - 新增群的数量
     * 2 - 群总数
     * 3 - 新增群人数
     * 4 - 群总人数
     *
     * 默认为1
     */
    @JSONField(name = "order_by")
    private Integer orderBy;
    /**
     * 是否升序。0-否；1-是。默认降序
     */
    @JSONField(name = "order_asc")
    private Integer orderAsc;
    /**
     * 分页，偏移量, 默认为0
     */
    @JSONField(name = "offset")
    private Integer offset;
    /**
     * 分页，预期请求的数据量，默认为500，取值范围 1 ~ 1000
     */
    @JSONField(name = "limit")
    private Integer limit;


    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public Integer getDayBeginTime() {
        return dayBeginTime;
    }

    public void setDayBeginTime(Integer dayBeginTime) {
        this.dayBeginTime = dayBeginTime;
    }

    public Integer getDayEndTime() {
        return dayEndTime;
    }

    public void setDayEndTime(Integer dayEndTime) {
        this.dayEndTime = dayEndTime;
    }

    public OwnerFilterDTO getOwnerFilter() {
        return ownerFilter;
    }

    public void setOwnerFilter(OwnerFilterDTO ownerFilter) {
        this.ownerFilter = ownerFilter;
    }

    public Integer getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(Integer orderBy) {
        this.orderBy = orderBy;
    }

    public Integer getOrderAsc() {
        return orderAsc;
    }

    public void setOrderAsc(Integer orderAsc) {
        this.orderAsc = orderAsc;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public static class OwnerFilterDTO {
        /**
         * 群主ID列表。最多100个
         */
        @JSONField(name = "userid_list")
        private List<String> useridList;

        public List<String> getUseridList() {
            return useridList;
        }

        public void setUseridList(List<String> useridList) {
            this.useridList = useridList;
        }
    }
}
